upstream取り込み: tanstack/db + electric 更新、durable-streams patch 削除 (#3509)#303
Conversation
…ch (superset-sh#3509) * chore(deps): upgrade tanstack/db + electric, drop durable-streams patch - @electric-sql/client 1.5.13 → 1.5.14 (api, desktop, mobile) - @tanstack/db 0.5.33 → 0.6.4 (desktop, mobile) - @tanstack/electric-db-collection 0.2.41 → 0.3.2 (desktop, mobile) - @tanstack/react-db 0.1.77 → 0.1.82 (desktop, mobile) - @durable-streams/client ^0.2.1 → ^0.2.3 (api, desktop) - Remove @durable-streams/state@0.2.1 patch — state package isn't imported anywhere; the patch only stripped console.logs Type fixes for @tanstack/db 0.6 row virtual props ($synced/$origin/$key/$collectionId): cast pending rows back to PendingWorkspaceRow and use SelectTaskStatus directly in handleStatusChange so discriminated-union narrowing and callback variance keep working. * chore(deps): drop 7-day release-age policy, bump to latest patches - Remove `minimumReleaseAge` from bunfig.toml - @electric-sql/client 1.5.14 → 1.5.15 (api, desktop, mobile) - @tanstack/db 0.6.4 → 0.6.5 (desktop, mobile) - @tanstack/electric-db-collection 0.3.2 → 0.3.3 (desktop, mobile) - @tanstack/react-db 0.1.82 → 0.1.83 (desktop, mobile)
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 40 minutes and 5 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Upstream commits processed (cherry-picked, then adapted where needed): - 07c1ee0 fix(desktop): Cmd+O firing open-in twice on v1 workspace route (superset-sh#3511) → PR #302 (with fork tearoff-window adaptation for Cmd+O) - 4a1f41a chore(deps): upgrade tanstack/db + electric, drop durable-streams patch (superset-sh#3509) → PR #303 (fork keeps fstream patch) - a3df489 feat(desktop): v2 PR checkout via widened checkout procedure (superset-sh#3525) → PR #304 (clean) - c504a50 feat(desktop): v2 file editor — foundation, views, and stability pass (superset-sh#3526) → PR #310 (foundation: 58 files path-checkout) → PR #311 (adaptation: 20 files manual port with SpreadsheetViewer/memo/fork-hotkeys preserved) - 78b7dc8 feat(desktop): promote "Create Section Below" to top-level on workspace menu (superset-sh#3537) → PR #308 Record merge so upstream/main..main shows 0 behind.
superset-sh#4176) * fix(desktop): resolve v2 default from local db, not stale localStorage The v2 default introduced in superset-sh#4115 used `localStorage.getItem("tabs-storage")` to detect returning users, but tabs state was migrated off localStorage to app-state.json (lowdb) in #303 (2025-12-10). The key has been null for every install since, so `!hasPriorSupersetUsage()` evaluated to true for all users and force-flipped anyone without an explicit toggle into v2 on first launch. Resolve the default from the canonical signal instead: ≥1 row in `projects` or `workspaces` in localDb means a returning user. `optInV2` starts `null`, `V2DefaultResolver` runs both `*.hasAny` queries once and persists the result. Users who got force-pulled but never toggled have no persisted override yet, so they self-heal back to v1 on next launch. * fix(desktop): only fresh installs are forced into onboarding The onboarding gate at _authenticated/layout.tsx only checked isV2CloudEnabled && !requiredComplete, so any existing v1 user who explicitly toggled v2 ON was force-walked through /setup/* — wrong: they already have projects/workspaces and should land on the dashboard. Split the v2 default into two flags on the override store: - optInV2: user-controllable (resolver default OR experimental toggle). - isFreshInstall: sticky one-shot detection from the resolver, never changed by user toggles. Onboarding gate now requires isFreshInstall === true. Resolver runs whenever either flag is null, so users with persisted optInV2 from the broken release also get isFreshInstall backfilled on next launch.
superset-sh#4176) * fix(desktop): resolve v2 default from local db, not stale localStorage The v2 default introduced in superset-sh#4115 used `localStorage.getItem("tabs-storage")` to detect returning users, but tabs state was migrated off localStorage to app-state.json (lowdb) in #303 (2025-12-10). The key has been null for every install since, so `!hasPriorSupersetUsage()` evaluated to true for all users and force-flipped anyone without an explicit toggle into v2 on first launch. Resolve the default from the canonical signal instead: ≥1 row in `projects` or `workspaces` in localDb means a returning user. `optInV2` starts `null`, `V2DefaultResolver` runs both `*.hasAny` queries once and persists the result. Users who got force-pulled but never toggled have no persisted override yet, so they self-heal back to v1 on next launch. * fix(desktop): only fresh installs are forced into onboarding The onboarding gate at _authenticated/layout.tsx only checked isV2CloudEnabled && !requiredComplete, so any existing v1 user who explicitly toggled v2 ON was force-walked through /setup/* — wrong: they already have projects/workspaces and should land on the dashboard. Split the v2 default into two flags on the override store: - optInV2: user-controllable (resolver default OR experimental toggle). - isFreshInstall: sticky one-shot detection from the resolver, never changed by user toggles. Onboarding gate now requires isFreshInstall === true. Resolver runs whenever either flag is null, so users with persisted optInV2 from the broken release also get isFreshInstall backfilled on next launch.
概要
upstream
superset-sh/supersetから deps 更新 (superset-sh#3509) を取り込む PR です。behind 3 → 2。取り込み commit
4a1f41a55fork 適応修正
package.jsonのpatchedDependencies: fork 独自のfstream@1.0.12patch を維持しつつ、upstream 通り@durable-streams/state@0.2.1patch を削除bunfig.toml: fork の#minimumReleaseAge = 604800コメントアウト行とlinker = "isolated"コメントを維持(policy はグローバル設定で担保)patches/@durable-streams%2Fstate@0.2.1.patch削除Codex pre-review
Yes(ブロッカーなし)
@durable-streams/state参照: 0 件、bun.lock にも無し → 削除安全fstreampatch は package.json / bun.lock / patches/ すべて維持を確認テストチェックリスト